home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / X11R4 / cmds / X / ddx / sprite.X11R3 / hdr / ramdac.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-03  |  1.2 KB  |  40 lines

  1. /* @(#)ramdac.h    1.1 88/11/15 */
  2. #ifndef    _ramdac_DEFINED_
  3. #define _ramdac_DEFINED_
  4.  
  5. #include <pixrect/pixrect.h>
  6.  
  7. #define RAMDAC_READMASK        04
  8. #define RAMDAC_BLINKMASK    05
  9. #define RAMDAC_COMMAND        06
  10. #define RAMDAC_CTRLTEST        07
  11.  
  12. /* 3 Brooktree ramdac 457 or 458 packed in a 32-bit register */
  13. /* fbunit defined in <pixrect/pixrect.h> */
  14. struct ramdac {
  15.     union fbunit    addr_reg,           /* address register */
  16.                     lut_data,           /* lut data port */
  17.                     command,           /* command/control port */
  18.                     overlay;           /* overlay lut port */
  19. };
  20.  
  21. #define ASSIGN_LUT(lut, value) (lut).packed = (value & 0xff) | \
  22.     ((value & 0xff) << 8) | ((value & 0xff) << 16)
  23. /*
  24.  * To initialize do this:
  25.         struct ramdac  *lut;
  26.  
  27.         lut->addr_reg.packed = 0;
  28.         ASSIGN_LUT (lut->addr_reg, CG8_RAMDAC_CTRLTEST);
  29.     ASSIGN_LUT(lut->command, 04);
  30.     ASSIGN_LUT (lut->addr_reg, CG8_RAMDAC_COMMAND);
  31.         ASSIGN_LUT (lut->command, 0x43);
  32.         ASSIGN_LUT (lut->addr_reg, CG8_RAMDAC_READMASK);
  33.         ASSIGN_LUT (lut->command, 0xff);
  34.         ASSIGN_LUT (lut->addr_reg, CG8_RAMDAC_BLINKMASK);
  35.         ASSIGN_LUT (lut->command, 0);
  36.  * followed by the colormap initialization.
  37.  */
  38.  
  39. #endif    _ramdac_DEFINED_
  40.